Precise iOS Toolkit  2.13.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups
Classes | Macros | Typedefs | Functions | Variables
winscard.h File Reference
#include <errno.h>
#include "wintypes.h"
Include dependency graph for winscard.h:

Go to the source code of this file.

Classes

struct  SCARD_READERSTATE
struct  SCARD_IO_REQUEST

Macros

#define SCARD_SCOPE_USER   0
#define SCARD_SCOPE_TERMINAL   1
#define SCARD_SCOPE_SYSTEM   2
#define SCARD_SHARE_EXCLUSIVE   1
#define SCARD_SHARE_SHARED   2
#define SCARD_SHARE_DIRECT   3
#define SCARD_LEAVE_CARD   0
#define SCARD_RESET_CARD   1
#define SCARD_UNPOWER_CARD   2
#define SCARD_EJECT_CARD   3
#define SCARD_AUTOALLOCATE   (DWORD)(-1)
#define SCARD_UNKNOWN   0
#define SCARD_ABSENT   1
#define SCARD_PRESENT   2
#define SCARD_SWALLOWED   3
#define SCARD_POWERED   4
#define SCARD_NEGOTIABLE   5
#define SCARD_SPECIFIC   6
#define SCARD_STATE_UNAWARE   0x00000000
#define SCARD_STATE_IGNORE   0x00000001
#define SCARD_STATE_CHANGED   0x00000002
#define SCARD_STATE_UNKNOWN   0x00000004
#define SCARD_STATE_UNAVAILABLE   0x00000008
#define SCARD_STATE_EMPTY   0x00000010
#define SCARD_STATE_PRESENT   0x00000020
#define SCARD_STATE_ATRMATCH   0x00000040
#define SCARD_STATE_EXCLUSIVE   0x00000080
#define SCARD_STATE_INUSE   0x00000100
#define SCARD_STATE_MUTE   0x00000200
#define SCARD_STATE_UNPOWERED   0x00000400
#define SCARD_S_SUCCESS   ((DWORD)0x00000000L)
#define SCARD_F_INTERNAL_ERROR   ((DWORD)0x80100001L)
#define SCARD_E_CANCELLED   ((DWORD)0x80100002L)
#define SCARD_E_INVALID_HANDLE   ((DWORD)0x80100003L)
#define SCARD_E_INVALID_PARAMETER   ((DWORD)0x80100004L)
#define SCARD_E_INVALID_TARGET   ((DWORD)0x80100005L)
#define SCARD_E_NO_MEMORY   ((DWORD)0x80100006L)
#define SCARD_F_WAITED_TOO_LONG   ((DWORD)0x80100007L)
#define SCARD_E_INSUFFICIENT_BUFFER   ((DWORD)0x80100008L)
#define SCARD_E_UNKNOWN_READER   ((DWORD)0x80100009L)
#define SCARD_E_TIMEOUT   ((DWORD)0x8010000AL)
#define SCARD_E_SHARING_VIOLATION   ((DWORD)0x8010000BL)
#define SCARD_E_NO_SMARTCARD   ((DWORD)0x8010000CL)
#define SCARD_E_UNKNOWN_CARD   ((DWORD)0x8010000DL)
#define SCARD_E_CANT_DISPOSE   ((DWORD)0x8010000EL)
#define SCARD_E_PROTO_MISMATCH   ((DWORD)0x8010000FL)
#define SCARD_E_NOT_READY   ((DWORD)0x80100010L)
#define SCARD_E_INVALID_VALUE   ((DWORD)0x80100011L)
#define SCARD_E_SYSTEM_CANCELLED   ((DWORD)0x80100012L)
#define SCARD_F_COMM_ERROR   ((DWORD)0x80100013L)
#define SCARD_F_UNKNOWN_ERROR   ((DWORD)0x80100014L)
#define SCARD_E_INVALID_ATR   ((DWORD)0x80100015L)
#define SCARD_E_NOT_TRANSACTED   ((DWORD)0x80100016L)
#define SCARD_E_READER_UNAVAILABLE   ((DWORD)0x80100017L)
#define SCARD_P_SHUTDOWN   ((DWORD)0x80100018L)
#define SCARD_E_PCI_TOO_SMALL   ((DWORD)0x80100019L)
#define SCARD_E_READER_UNSUPPORTED   ((DWORD)0x8010001AL)
#define SCARD_E_DUPLICATE_READER   ((DWORD)0x8010001BL)
#define SCARD_E_CARD_UNSUPPORTED   ((DWORD)0x8010001CL)
#define SCARD_E_NO_SERVICE   ((DWORD)0x8010001DL)
#define SCARD_E_SERVICE_STOPPED   ((DWORD)0x8010001EL)
#define SCARD_E_UNEXPECTED   ((DWORD)0x8010001FL)
#define SCARD_E_ICC_INSTALLATION   ((DWORD)0x80100020L)
#define SCARD_E_ICC_CREATEORDER   ((DWORD)0x80100021L)
#define SCARD_E_UNSUPPORTED_FEATURE   ((DWORD)0x80100022L)
#define SCARD_E_DIR_NOT_FOUND   ((DWORD)0x80100023L)
#define SCARD_E_FILE_NOT_FOUND   ((DWORD)0x80100024L)
#define SCARD_E_NO_DIR   ((DWORD)0x80100025L)
#define SCARD_E_NO_FILE   ((DWORD)0x80100026L)
#define SCARD_E_NO_ACCESS   ((DWORD)0x80100027L)
#define SCARD_E_WRITE_TOO_MANY   ((DWORD)0x80100028L)
#define SCARD_E_BAD_SEEK   ((DWORD)0x80100029L)
#define SCARD_E_INVALID_CHV   ((DWORD)0x8010002AL)
#define SCARD_E_UNKNOWN_RES_MNG   ((DWORD)0x8010002BL)
#define SCARD_E_NO_SUCH_CERTIFICATE   ((DWORD)0x8010002CL)
#define SCARD_E_CERTIFICATE_UNAVAILABLE   ((DWORD)0x8010002DL)
#define SCARD_E_NO_READERS_AVAILABLE   ((DWORD)0x8010002EL)
#define SCARD_E_COMM_DATA_LOST   ((DWORD)0x8010002FL)
#define SCARD_E_NO_KEY_CONTAINER   ((DWORD)0x80100030L)
#define SCARD_E_SERVER_TOO_BUSY   ((DWORD)0x80100031L)
#define SCARD_E_PIN_CACHE_EXPIRED   ((DWORD)0x80100032L)
#define SCARD_E_NO_PIN_CACHE   ((DWORD)0x80100033L)
#define SCARD_E_READ_ONLY_CARD   ((DWORD)0x80100034L)
#define SCARD_W_UNSUPPORTED_CARD   ((DWORD)0x80100065L)
#define SCARD_W_UNRESPONSIVE_CARD   ((DWORD)0x80100066L)
#define SCARD_W_UNPOWERED_CARD   ((DWORD)0x80100067L)
#define SCARD_W_RESET_CARD   ((DWORD)0x80100068L)
#define SCARD_W_REMOVED_CARD   ((DWORD)0x80100069L)
#define SCARD_W_SECURITY_VIOLATION   ((DWORD)0x8010006AL)
#define SCARD_W_WRONG_CHV   ((DWORD)0x8010006BL)
#define SCARD_W_CHV_BLOCKED   ((DWORD)0x8010006CL)
#define SCARD_W_EOF   ((DWORD)0x8010006DL)
#define SCARD_W_CANCELLED_BY_USER   ((DWORD)0x8010006EL)
#define SCARD_W_CARD_NOT_AUTHENTICATED   ((DWORD)0x8010006FL)
#define SCARD_W_CACHE_ITEM_NOT_FOUND   ((DWORD)0x80100070L)
#define SCARD_W_CACHE_ITEM_STALE   ((DWORD)0x80100071L)
#define SCARD_W_CACHE_ITEM_TOO_BIG   ((DWORD)0x80100072L)
#define SCARD_PROTOCOL_UNDEFINED   0x00000000
#define SCARD_PROTOCOL_T0   0x00000001
#define SCARD_PROTOCOL_T1   0x00000002
#define SCARD_PROTOCOL_RAW   0x00010000
#define SCARD_PROTOCOL_Tx   (SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1)
#define SCARD_PROTOCOL_ANY   SCARD_PROTOCOL_Tx
#define DISABLE_BACKGROUND_MANAGEMENT   (&g_bgm_disable)
#define SCARD_ATTR_VALUE(Class, Tag)   ((((DWORD)(Class)) << 16) | ((DWORD)(Tag)))
#define SCARD_CLASS_VENDOR_INFO   1
#define SCARD_CLASS_COMMUNICATIONS   2
#define SCARD_CLASS_PROTOCOL   3
#define SCARD_CLASS_POWER_MGMT   4
#define SCARD_CLASS_SECURITY   5
#define SCARD_CLASS_MECHANICAL   6
#define SCARD_CLASS_VENDOR_DEFINED   7
#define SCARD_CLASS_IFD_PROTOCOL   8
#define SCARD_CLASS_ICC_STATE   9
#define SCARD_CLASS_PERF   0x7FFE
#define SCARD_CLASS_SYSTEM   0x7FFF
#define SCARD_ATTR_AUTO_BACKGROUND_HANDLING   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xB100)
#define SCARD_ATTR_AUTO_POWER_ON   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xB101)
#define SCARD_HANDLE_INVALID   0
#define SCARD_PCI_T0   (&g_rgSCardT0Pci)
#define SCARD_PCI_T1   (&g_rgSCardT1Pci)
#define SCARD_PCI_RAW   (&g_rgSCardRawPci)

Typedefs

typedef LONG SCARDCONTEXT
typedef SCARDCONTEXTPSCARDCONTEXT
typedef SCARDCONTEXTLPSCARDCONTEXT
typedef LONG SCARDHANDLE
typedef SCARDHANDLEPSCARDHANDLE
typedef SCARDHANDLELPSCARDHANDLE
typedef struct SCARD_READERSTATELPSCARD_READERSTATE
typedef struct SCARD_IO_REQUESTPSCARD_IO_REQUEST
typedef struct SCARD_IO_REQUESTLPSCARD_IO_REQUEST
typedef const SCARD_IO_REQUESTLPCSCARD_IO_REQUEST

Functions

LONG SCardEstablishContext (DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext)
LONG SCardReleaseContext (SCARDCONTEXT hContext)
LONG SCardConnect (SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol)
LONG SCardReconnect (SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, LPDWORD pdwActiveProtocol)
LONG SCardDisconnect (SCARDHANDLE hCard, DWORD dwDisposition)
LONG SCardStatus (SCARDHANDLE hCard, LPSTR mszReaderName, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen)
LONG SCardGetStatusChange (SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATE rgReaderStates, DWORD cReaders)
LONG SCardTransmit (SCARDHANDLE hCard, const SCARD_IO_REQUEST *pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, SCARD_IO_REQUEST *pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength)
LONG SCardListReaders (SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders)
LONG SCardFreeMemory (SCARDCONTEXT hContext, LPCVOID pvMem)
LONG SCardCancel (SCARDCONTEXT hContext)
LONG SCardIsValidContext (SCARDCONTEXT hContext)
LONG SCardSetAttrib (SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr, DWORD cbAttrLen)
LONG SCardGetAttrib (SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr, LPDWORD pcbAttrLen)
LONG SCardListReaderGroups (SCARDCONTEXT hContext, LPSTR mszGroups, LPDWORD pcchGroups)
LONG SCardControl (SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, DWORD cbSendLength, LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned)
LONG SCardBeginTransaction (SCARDHANDLE hCard)
LONG SCardEndTransaction (SCARDHANDLE hCard, DWORD dwDisposition)

Variables

uint8_t g_bgm_disable
SCARD_IO_REQUEST g_rgSCardT0Pci
SCARD_IO_REQUEST g_rgSCardT1Pci
SCARD_IO_REQUEST g_rgSCardRawPci

Macro Definition Documentation

#define DISABLE_BACKGROUND_MANAGEMENT   (&g_bgm_disable)

Used to disable automatic power management of the accessory and card Use DISABLE_BACKGROUND_MANAGEMENT is DEPRECATED, use SCardSetAttrib with SCARD_ATTR_AUTO_BACKGROUND_HANDLING to enable or disable this feature.

Definition at line 325 of file winscard.h.

#define SCARD_ATTR_AUTO_BACKGROUND_HANDLING   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xB100)

Definition at line 345 of file winscard.h.

#define SCARD_ATTR_AUTO_POWER_ON   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xB101)

Definition at line 361 of file winscard.h.

#define SCARD_ATTR_VALUE (   Class,
  Tag 
)    ((((DWORD)(Class)) << 16) | ((DWORD)(Tag)))

Definition at line 327 of file winscard.h.

#define SCARD_AUTOALLOCATE   (DWORD)(-1)

Tells the library to allocate the required memory

Definition at line 83 of file winscard.h.

#define SCARD_CLASS_COMMUNICATIONS   2

Definition at line 330 of file winscard.h.

#define SCARD_CLASS_ICC_STATE   9

Definition at line 337 of file winscard.h.

#define SCARD_CLASS_IFD_PROTOCOL   8

Definition at line 336 of file winscard.h.

#define SCARD_CLASS_MECHANICAL   6

Definition at line 334 of file winscard.h.

#define SCARD_CLASS_PERF   0x7FFE

Definition at line 338 of file winscard.h.

#define SCARD_CLASS_POWER_MGMT   4

Definition at line 332 of file winscard.h.

#define SCARD_CLASS_PROTOCOL   3

Definition at line 331 of file winscard.h.

#define SCARD_CLASS_SECURITY   5

Definition at line 333 of file winscard.h.

#define SCARD_CLASS_SYSTEM   0x7FFF

Definition at line 339 of file winscard.h.

#define SCARD_CLASS_VENDOR_DEFINED   7

Definition at line 335 of file winscard.h.

#define SCARD_CLASS_VENDOR_INFO   1

Definition at line 329 of file winscard.h.

#define SCARD_HANDLE_INVALID   0

An invalid scard handle.

Definition at line 372 of file winscard.h.


Typedef Documentation

Definition at line 416 of file winscard.h.

Definition at line 366 of file winscard.h.

Definition at line 369 of file winscard.h.

Definition at line 365 of file winscard.h.

Definition at line 368 of file winscard.h.

typedef LONG SCARDCONTEXT

Definition at line 364 of file winscard.h.

typedef LONG SCARDHANDLE

Definition at line 367 of file winscard.h.


Variable Documentation

uint8_t g_bgm_disable
SCARD_IO_REQUEST g_rgSCardRawPci
SCARD_IO_REQUEST g_rgSCardT0Pci
SCARD_IO_REQUEST g_rgSCardT1Pci